import requests
from pathlib import Path
import os

def download_image(url, folder_path, filename=None):
    """
    下载网络图片到指定文件夹
    
    Args:
        url: 图片的URL地址
        folder_path: 保存图片的文件夹路径
        filename: 文件名（可选，如果不提供则从URL中提取）
    """
    # 创建文件夹（如果不存在）
    if not os.path.exists(folder_path):
        os.makedirs(folder_path)
    
    # 如果没有提供文件名，从URL中提取
    if not filename:
        filename = url.split('/')[-1]
        # 如果文件名没有扩展名，添加.jpg
        if '.' not in filename:
            filename += '.jpg'
    
    # 完整的文件路径
    file_path = os.path.join(folder_path, filename)
    
    try:
        # 发送GET请求
        response = requests.get(url, stream=True)
        response.raise_for_status()  # 检查请求是否成功
        
        # 写入文件
        with open(file_path, 'wb') as file:
            for chunk in response.iter_content(chunk_size=8192):
                file.write(chunk)
        
        print(f"图片已下载到: {file_path}")
        return file_path
    
    except Exception as e:
        print(f"下载失败: {e}")
        return None
    
# 使用示例
if __name__ == "__main__":
    image_url = "http://8.149.138.93:8081/test1.png"  # 替换为实际的图片URL
    save_folder = Path('D:/projects/data/ocr')  # 保存的文件夹路径
    download_image(image_url, save_folder, filename = 'dwn.png')    